/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.siagefi.model;

import br.siagefi.enuns.TipoSexo;
import br.siagefi.interfaces.BaseEntity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Note
 */

@Entity
@Table(name = "cliente_PF")
@NamedQuery(name = "ClientePF.buscaPorCPF", query = "SELECT c FROM ClientePF c WHERE c.cpf = ?1")
public class ClientePF extends PessoaFisica implements Serializable, BaseEntity{
    
    @Temporal(TemporalType.DATE)
    @Column(name = "data_nascimento")
    private Date dataNascimento;

    @Column(name = "estado_civil", length = 30)
    private String estadoCivil;
    
    @Enumerated(EnumType.STRING)
    @Column(name = "sexo", length = 15)
    private TipoSexo sexo;
    
    @Temporal(TemporalType.DATE)
    private Date clienteDesde;

    public ClientePF() {
    }

    public Date getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNascimento(Date dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public String getEstadoCivil() {
        return estadoCivil;
    }

    public void setEstadoCivil(String estadoCivil) {
        this.estadoCivil = estadoCivil;
    }

    public TipoSexo getSexo() {
        return sexo;
    }

    public void setSexo(TipoSexo sexo) {
        this.sexo = sexo;
    }

    public Date getClienteDesde() {
        return clienteDesde;
    }

    public void setClienteDesde(Date clienteDesde) {
        this.clienteDesde = clienteDesde;
    }  
}
